home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Czech Logic, Card & Gambling Games
/
Logické hry.iso
/
hry
/
Fish Fillets
/
script
/
briefcase
/
code.lua
< prev
next >
Wrap
Text File
|
2005-07-16
|
8KB
|
232 lines
-- -----------------------------------------------------------------
-- Init
-- -----------------------------------------------------------------
local function prog_init()
initModels()
local pokus = getRestartCount()
-- -------------------------------------------------------------
local function prog_init_room()
local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
room.uvod = 0
room.do_prace = 0
room.znovu = 0
room.dilna = 0
room.zvedni = 0
return function()
if isReady(small) and isReady(big) then
if not level_isShowing() and small.X == 25 and small.Y == 23 and big.X == 27 and big.Y == 21 then
if not big:isLeft() then
level_planShow(function(count)
return level_action_move('L')
end)
end
file_include("script/"..codename.."/demo_help.lua")
end
if not level_isShowing() and no_dialog() then
if room.uvod == 0 then
switch(pokus){
[1] = function()
addm(6, "kuf-m-je")
addv(4, "kuf-v-noco")
addv(9, "kuf-v-hod")
end,
[2] = function()
addv(9, "kuf-v-hod")
end,
default = function()
switch(random(3)){
[0] = function()
end,
[1] = function()
addv(9, "kuf-v-hod")
end,
[2] = function()
addm(6, "kuf-m-je")
end,
}
end,
}
room.uvod = 1
elseif room.do_prace == 0 and kufr.hotovo == 1 then
switch(pokus){
[1] = function()
addv(10, "kuf-v-doprace")
end,
[2] = function()
addv(10, "kuf-v-dotoho")
end,
default = function()
switch(random(2)){
[0] = function()
addv(10, "kuf-v-doprace")
end,
[1] = function()
addv(10, "kuf-v-dotoho")
end,
}
end,
}
addm(5, "kuf-m-ven")
addv(0, "kuf-v-ukol")
room.do_prace = 1
elseif room.znovu == 0 and room.do_prace == 1 and room.dilna == 0 and random(100) < 5 then
switch(pokus){
[1] = function()
addv(20, "kuf-v-jeste")
addm(2, "kuf-m-disk")
addv(6, "kuf-v-restart")
addm(3, "kuf-m-pravda")
end,
}
room.znovu = 1
elseif room.dilna == 0 and room.znovu == 1 and (small.Y >= 22 or big.Y >= 22) then
addm(30, "kuf-m-dodilny")
addv(5, "kuf-v-napad")
room.dilna = 1
elseif room.zvedni == 0 and ocel.Y == 18 and small.Y >= 22 and small.Y <= 24 and small.X >= 29 and small.X <= 30 then
room.zvedni = 1
addm(0, "kuf-m-nezvednu")
elseif room.zvedni <= 1 and ocel.Y == 16 and random(100) < 7 then
room.zvedni = 2
addm(0, "kuf-m-kousek")
end
end
end
end
end
-- -------------------------------------------------------------
local function prog_init_kufr()
local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
kufr.faze = 0
kufr.hotovo = 0
return function()
local anim_table = {
[0] = function()
if kufr.dir == dir_down then
kufr.faze = kufr.faze + 1
end
end,
[1] = function()
kufr.afaze = 0
if kufr.dir == dir_no then
kufr.faze = kufr.faze + 1
end
end,
[2] = function()
kufr.afaze = kufr.faze - 2
kufr.faze = kufr.faze + 1
end,
[7] = function()
kufr.delay = 3
kufr.faze = kufr.faze + 1
end,
[8] = function()
if kufr.delay > 0 then
kufr.delay = kufr.delay - 1
else
level_newDemo("script/"..codename.."/demo_briefcase.lua")
kufr.faze = kufr.faze + 1
end
end,
[9] = function()
kufr.delay = 4
kufr.faze = kufr.faze + 1
end,
[10] = function()
if kufr.delay > 0 then
kufr.delay = kufr.delay - 1
else
kufr.afaze = 13 - kufr.faze
kufr.faze = kufr.faze + 1
end
end,
[14] = function()
kufr.delay = 37
kufr.faze = kufr.faze + 1
end,
[15] = function()
if kufr.delay > 0 then
kufr.delay = kufr.delay - 1
else
kufr.faze = kufr.faze + 1
end
end,
[16] = function()
kufr.afaze = kufr.faze - 11
kufr.faze = kufr.faze + 1
end,
[22] = function()
kufr.afaze = 0
kufr.faze = kufr.faze + 1
kufr.hotovo = 1
end,
}
anim_table[3] = anim_table[2]
anim_table[4] = anim_table[2]
anim_table[5] = anim_table[2]
anim_table[6] = anim_table[2]
anim_table[11] = anim_table[10]
anim_table[12] = anim_table[10]
anim_table[13] = anim_table[10]
anim_table[17] = anim_table[16]
anim_table[18] = anim_table[16]
anim_table[19] = anim_table[16]
anim_table[20] = anim_table[16]
anim_table[21] = anim_table[16]
switch(kufr.faze)(anim_table)
kufr:updateAnim()
end
end
-- -------------------------------------------------------------
local function prog_init_ocel()
return function()
if ocel.dir ~= dir_no then
room.dilna = 1
room.do_prace = 1
room.znovu = 1
end
end
end
-- --------------------
local update_table = {}
local subinit
subinit = prog_init_room()
if subinit then
table.insert(update_table, subinit)
end
subinit = prog_init_kufr()
if subinit then
table.insert(update_table, subinit)
end
subinit = prog_init_ocel()
if subinit then
table.insert(update_table, subinit)
end
return update_table
end
local update_table = prog_init()
-- -----------------------------------------------------------------
-- Update
-- -----------------------------------------------------------------
function prog_update()
for key, subupdate in pairs(update_table) do
subupdate()
end
end